package gnss_plugs

import (
	gnssutils "dgo/goutils/gnss"
	"net"
)

type IGnssCasterProcessor interface {
	OnNtripSvrShake(sender *GnssCasterConn, requestParser *gnssutils.NtripRequest) int
	OnNtripCltShake(sender *GnssCasterConn, requestParser *gnssutils.NtripRequest) int
	MakeNtripSvrRecvBuff() []byte
	MakeNtripCltRecvBuff() []byte
	OnNtripSvrData(sender *GnssCasterConn, buf []byte, l int)
	OnNtripCltData(sender *GnssCasterConn, buf []byte, l int, recvbytes int64, sendbytes int64) int
	OnNtripConnDisconnected(sender *GnssCasterConn)
	OnNtripConnAccept(conn net.Conn) int
}

type IGnssNtripCltProcessor interface {
	OnNtripCltData(sender *NtripClt, buf []byte, l int)
	OnNtripCltDisconnected(sender *NtripClt)
	OnNtripCltConnectError(sender *NtripClt, err error)
	OnNtripCltShakeRecv(sender *NtripClt)
	OnNtripCltStop(sender *NtripClt)
}
